package controllers

import (
	"github.com/gofiber/fiber/v2"
	jsoniter "github.com/json-iterator/go"
)

var json = jsoniter.ConfigCompatibleWithStandardLibrary

func HealthChecker(ctx *fiber.Ctx) error {
	return ctx.SendString("ok")
}

func InitRouteTables(r *fiber.App) {
	// 测试
	r.Get("/jsonecho", JsonEchoHandler)
	r.Post("/posttodo", JsonPostEchoHandler)
	// 健康检查
	r.Get("/healthCheck", HealthChecker)
	// 业务
	r.Post("/appWakeup", DowakeUp)
	r.Get("/getAppcfgs", GetAppCfgs)

	r.Post("/getTokenTest", GetJwtForTest)
	r.Post("/upload", UploadFile)

	// 游客登陆
	r.Post("/visitorLogin", TurLogin)
	// 注册
	r.Post("/reg", UploadFile)
	// 登录
	r.Post("/login", Login)
	// 获取用户的道具列表
	r.Post("/uitems", UserItems)
	// 获取用户的建筑列表
	r.Post("/ubuildings", UserBuildings)
	// 用户建设庄园
	r.Post("/dobuild", DoBuildings)
	// 庄园设置皮肤
	r.Post("/dosetskin", DoChangeSkins)
	// 解锁皮肤
	r.Post("/unlockskin", UnlockSkins)
	// 庄园配置获取

	// 花海部分
	// 转动slot获取花和星星奖励
	r.Post("/slot", Slot)
	// 获取用户鲜花状态列表
	r.Post("/uflowers", UFlowers)
	// 看广告换种子,第一步确定是否能播放,第二步播放完成后提交key和时间戳然后获取种子
	r.Post("/adgetseed", AdGetSeed)
	r.Post("/adgetseed2", AdGetSeed2)
	// 花钻石浇花
	r.Post("/paywater", PayWater)
	// 收取鲜花
	r.Post("/getflower", ReceiveFlowers)
	// ✔定时任务系统浇花

	// 获取高尔夫场景
	r.Post("/entergolf", Golf)
	// 高尔夫击球浇花
	r.Post("/golfwater", GolfWater)
	// 获取用户之间的好友度
	r.Post("/ufriendly", UsersFriendly)

	// testing 重置用户状态
	r.Post("/resetuser", ResetUserBuilding)
	r.Post("/addcoin", ResetUserBuilding)
}

func InitRouteTablesWithJWT(r *fiber.App) {
	// 测试
	r.Get("/jwtecho", JsonEchoHandlerJWT)
}
